// stdafx.h : include file for standard system include files,
//  or project specific include files that are used frequently, but
//      are changed infrequently
//

#if !defined(AFX_STDAFX_H__8347B219_E90F_4C90_82BE_CAC36DB307A7__INCLUDED_)
#define AFX_STDAFX_H__8347B219_E90F_4C90_82BE_CAC36DB307A7__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define VC_EXTRALEAN		// Exclude rarely-used stuff from Windows headers

#include <afxwin.h>         // MFC core and standard components
#include <afxext.h>         // MFC extensions
#include <afxdtctl.h>		// MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>			// MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT

// Link libraries for compiler

#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "winmm.lib")

// Global constants

#define PI			3.1415926535897932384626433832795f
#define _2PI		6.2831853071795864769252867665590f
#define PIDIV2		1.5707963267948966192313216916398f
#define PIDIV180     1.74532925199432957692369076848e-2f
#define _180DIVPI     57.295779513082320876798154814105f
#define DEGTORAD(x) (PIDIV180 * x)
#define RADTODEG(x)	(_180DIVPI * x)

// Handy Tools

#define LOWEST_BIT_MASK(x)		(x & (-x))
#define IS_POWER_OF_2(x)		(LOWEST_BIT_MASK(x) == x) ? true : false
#define _QUOTE(x) # x
#define QUOTE(x) _QUOTE(x)
#define __FILE__LINE__ __FILE__ "(" QUOTE(__LINE__) ") : "
#define NOTE( x )  message( x )
#define FILE_LINE  message( __FILE__LINE__ )
#define TODO( x )  message( __FILE__LINE__"\n"           \
        " ------------------------------------------------\n" \
        "|  TODO :   " #x "\n" \
        " -------------------------------------------------\n" )
#define FIXME( x )  message(  __FILE__LINE__"\n"           \
        " ------------------------------------------------\n" \
        "|  FIXME :  " #x "\n" \
        " -------------------------------------------------\n" )
#define todo( x )  message( __FILE__LINE__" TODO :   " #x "\n" ) 
#define fixme( x )  message( __FILE__LINE__" FIXME:   " #x "\n" )

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_STDAFX_H__8347B219_E90F_4C90_82BE_CAC36DB307A7__INCLUDED_)
